package gui.gui;

import java.awt.event.ActionListener;
import java.util.List;

import Fiad.FIAD;
import valueobjects.Ausbilder.Ausbilder;
import valueobjects.Betrieb.Betrieb;
import gui.GuiCommands;
import gui.gui_gen.Ausbilderaenderung_gen;

public class Ausbilderaenderung extends Ausbilderaenderung_gen{

	private Ausbilder ausbilder = null;
	private FIAD fiad = null;
	
	public Ausbilderaenderung(FIAD fiad, Ausbilder ausbilder) {
		cbBetrieb.removeAllItems();
		this.ausbilder = ausbilder;
		this.fiad = fiad;
		this.txfAusbilderID.setText(String.valueOf(ausbilder.getId()));
		this.txfDurchwahl.setText(ausbilder.getDurchwahl());
		this.txfEmail.setText(ausbilder.getEmail());
		this.txfName.setText(ausbilder.getName());
		this.txfTelefon.setText(ausbilder.getTelefon());
		this.txfVorname.setText(ausbilder.getVorname());
		this.txfVorwahl.setText(ausbilder.getVorwahl());
		this.cbBetrieb.setSelectedItem(ausbilder.getBetrieb().toString());
		List<Betrieb> betriebList = fiad.getAlleBetriebe();
		for (Betrieb betrieb : betriebList) {
			cbBetrieb.addItem(betrieb);
			cbBetrieb.setSelectedIndex(0);
		}
		init();
	}
	public void init() {
		super.btnAbbrechen.setActionCommand(GuiCommands.ABBRECHEN.name());
		super.btnOK.setActionCommand(GuiCommands.OK.name());
	}

	public void abbrechenButton() {
		this.setVisible(false);
	}
	public void okButton()
	{		
		this.ausbilder.setBetrieb((Betrieb) cbBetrieb.getSelectedItem());
		this.ausbilder.setDurchwahl(txfDurchwahl.getText().trim());
		this.ausbilder.setEmail(txfEmail.getText().trim());
		this.ausbilder.setName(txfName.getText().trim());
		this.ausbilder.setId(Integer.valueOf(txfAusbilderID.getText().trim()));
		this.ausbilder.setTelefon(txfTelefon.getText().trim());
		this.ausbilder.setVorname(txfVorname.getText().trim());
		this.ausbilder.setVorwahl(txfVorwahl.getText().trim());
		this.ausbilder.setDurchwahl(txfDurchwahl.getText().trim());
		this.fiad.aendereAusbilder(this.ausbilder);
		this.setVisible(false);
	}
	
	public void fuelleFelder(Ausbilder aus)
	{
		this.txfAusbilderID.setText(String.valueOf(ausbilder.getId()));
		this.txfDurchwahl.setText(ausbilder.getDurchwahl());
		this.txfEmail.setText(ausbilder.getEmail());
		this.txfName.setText(ausbilder.getName());
		this.txfTelefon.setText(ausbilder.getTelefon());
		this.txfVorname.setText(ausbilder.getVorname());
		this.txfVorwahl.setText(ausbilder.getVorwahl());
		this.cbBetrieb.setSelectedItem(ausbilder.getBetrieb().toString());
	}
	public void registerActionListenerForAusbilderAenderungButtons(
			ActionListener listener) {
		super.btnOK.addActionListener(listener);
		super.btnAbbrechen.addActionListener(listener);

	}
}
